home *** CD-ROM | disk | FTP | other *** search
/ IBM InfoROM for OS/2 Beta 1995 January / IBM InfoROM for OS2 Beta 1-1995.ISO / testcert / storage / function / scsi / add / scsiadd.gra < prev    next >
Encoding:
Text File  |  1994-08-15  |  37.2 KB  |  836 lines

  1. ******************************************************************************
  2. **                    SCSIADD GRA DESCRIPTION FILE                          **
  3. ******************************************************************************
  4. @IMPORT GLOBAL.GRA
  5.  
  6. ******************************************************************************
  7. ** THE FOLLOWING FUNCTION OPENS TEST DEVICE DRIVER: DASDADD$ (DASDADD.SYS)
  8. **
  9. **   REQUIRED INPUT PARAMETERS:         NONE
  10. **
  11. **   OUTPUT PARAMETERS:                 DRIVEHANDLE   ( SETS )
  12. **
  13. **   LOGGED DATA:                       NONE
  14. **
  15. dd_open                                 $DLL=SCSIADD \
  16.                                         $FUNC=_scsiadd_open
  17.  
  18. ******************************************************************************
  19. ** THE FOLLOWING FUNCTION GETS ALL INSTALLED DRIVERS OF DASD CLASS 
  20. **
  21. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE (SET BY DD_OPEN)
  22. **
  23. **   OUTPUT PARAMETERS:                 NONE
  24. **
  25. **   LOGGED DATA:                       PRINTS THE NAMES OF ALL THE INSTALLED
  26. **                                      DASD CLASS DRIVERS
  27. **
  28. dd_GetDrivers                           $DLL=SCSIADD \
  29.                                         DRIVEHANDLE=NUM \
  30.                                         $FUNC=_scsiadd_GetDrivers
  31.  
  32. ******************************************************************************
  33. ** THE FOLLOWING FUNCTION GETS THE DEVICETABLE FOR A GIVEN ADAPTER DEV DRIVER
  34. **
  35. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE (SET BY DD_OPEN)
  36. **                                      DRVNAME - CHARACTER DRIVER NAME
  37. **                                      MODE    - (0 OR 1) OPTIONAL
  38. **                                                DEFAULT=0 (ASYNC MODE)
  39. **
  40. **   OUTPUT PARAMETERS:                 NONE
  41. **
  42. **   LOGGED DATA:                       PRINTS THE DEVICE TABLE FOR THE GIVEN
  43. **                                      DRIVER.  THE DEVICE TABLE CONTAINS 
  44. **                                      DETAILED INFO ON EACH ADAPTER AND THE
  45. **                                      ATTACHED UNITS SUPPORTED BY THE
  46. **                                      ADAPTER DEVICE DRIVER.
  47. **                                      ( NO. OF ADAPTERS PRESENT,
  48. **                                        NO. OF UNITS ATTACHED,
  49. **                                        UNIT FLAGS,
  50. **                                        UNIT HANDLE ......  )
  51. **
  52. dd_GetDeviceTable                       $DLL=SCSIADD \
  53.                                         DRIVEHANDLE=NUM \
  54.                                         DRVNAME=STRING \
  55.                                         $FUNC=_scsiadd_GetDeviceTable
  56.  
  57. ******************************************************************************
  58. ** THE FOLLOWING FUNCTION SENDS A CDB FOR TWELVE-BYTE COMMANDS
  59. **
  60. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE (SET BY DD_OPEN)
  61. **
  62. **                                      DRVNAME - CHARACTER DRIVER NAME
  63. **
  64. **                                      MODE    - (0 OR 1) OPTIONAL
  65. **                                                DEFAULT=0 (ASYNC MODE)
  66. **
  67. **                                      UNITHANDLE - SET IN SCSICOM.SCR.
  68. **                                                   THIS IS OBTAINED BY
  69. **                                                   CALLING DD_GETDEVICETABLE
  70. **
  71. **                                      MEMSIZE - TOTAL BYTES IN SCAT/GAT LIST
  72. **
  73. **                                      NBUFF - NO. OF ELEMENTS IN SCAT/GAT
  74. **
  75. **                                      TIMEOUT - COMMAND COMPLETION TIMEOUT 
  76. **                                                (SECS)
  77. **                                                ( 0 = DEFAULT SET BY DRIVER
  78. **                                                  -1 = INFINITE )
  79. **
  80. **                                      CDB_BYTE0 - OPERATION CODE
  81. **
  82. **                                      CDB_BYTE1 - BITS 0-4: COMMAND SPECIFIC
  83. **                                                - BITS 5-7: LUN (ZERO)
  84. **
  85. **                                      ( 32BIT STARTING LOGICAL BLOCK ADDR )
  86. **                                      CDB_BYTE2 - MSB
  87. **                                      CDB_BYTE3
  88. **                                      CDB_BYTE4
  89. **                                      CDB_BYTE5 - LSB
  90. **
  91. **                                      ( COMMAND SPECIFIC
  92. **                                        - TRANSFER LENGTH,
  93. **                                          PARAMETER LIST LENGTH OR
  94. **                                          ALLOCATION LENGTH )
  95. **                                      CDB_BYTE6 - MSB
  96. **                                      CDB_BYTE7 
  97. **                                      CDB_BYTE8 
  98. **                                      CDB_BYTE9 - LSB
  99. **
  100. **                                      CDB_BYTE10 - RESERVED
  101. **
  102. **                                      CDB_BYTE11 - CONTROL FIELD
  103. **                                                   BIT 0: LINK BIT
  104. **                                                   BIT 1: FLAG BIT
  105. **                                                   BITS 2-5: RESERVED
  106. **                                                   BITS 6-7: VENDOR SPECIFIC
  107. dd_CDB12                                $DLL=SCSIADD \
  108.                                         DRIVEHANDLE=NUM \
  109.                                         DRVNAME=STRING  \
  110.                                         MODE=NUM \
  111.                                         UNITHANDLE=NUM \
  112.                                         MEMSIZE=NUM \
  113.                                         NBUFF=NUM \
  114.                                         TIMEOUT=NUM \
  115.                                         CDB_BYTE0=NUM \
  116.                                         CDB_BYTE1=NUM \
  117.                                         CDB_BYTE2=NUM \
  118.                                         CDB_BYTE3=NUM \
  119.                                         CDB_BYTE4=NUM \
  120.                                         CDB_BYTE5=NUM \
  121.                                         CDB_BYTE6=NUM \
  122.                                         CDB_BYTE7=NUM \
  123.                                         CDB_BYTE8=NUM \
  124.                                         CDB_BYTE9=NUM \
  125.                                         CDB_BYTE10=NUM \
  126.                                         CDB_BYTE11=NUM \
  127.                                         $FUNC=_scsiadd_CDB12
  128.  
  129. ******************************************************************************
  130. ** THE FOLLOWING FUNCTION SENDS A CDB FOR TEN-BYTE COMMANDS
  131. **
  132. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE (SET BY DD_OPEN)
  133. **
  134. **                                      DRVNAME - CHARACTER DRIVER NAME
  135. **
  136. **                                      MODE    - (0 OR 1) OPTIONAL
  137. **                                                DEFAULT=0 (ASYNC MODE)
  138. **
  139. **                                      UNITHANDLE - SET IN SCSICOM.SCR.
  140. **                                                   THIS IS OBTAINED BY
  141. **                                                   CALLING DD_GETDEVICETABLE
  142. **
  143. **                                      MEMSIZE - TOTAL BYTES IN SCAT/GAT LIST
  144. **
  145. **                                      NBUFF - NO. OF ELEMENTS IN SCAT/GAT
  146. **
  147. **                                      TIMEOUT - COMMAND COMPLETION TIMEOUT
  148. **                                                (SECS)
  149. **                                                ( 0 = DEFAULT SET BY DRIVER
  150. **                                                  -1 = INFINITE )
  151. **
  152. **                                      CDB_BYTE0 - OPERATION CODE
  153. **
  154. **                                      CDB_BYTE1 - BITS 0-4: COMMAND SPECIFIC
  155. **                                                - BITS 5-7: LUN (ZERO)
  156. **
  157. **                                      ( 32BIT STARTING LOGICAL BLOCK ADDR )
  158. **                                      CDB_BYTE2 - MSB
  159. **                                      CDB_BYTE3
  160. **                                      CDB_BYTE4
  161. **                                      CDB_BYTE5 - LSB
  162. **
  163. **                                      CDB_BYTE6 - RESERVED
  164. **
  165. **                                      ( COMMAND SPECIFIC
  166. **                                        - TRANSFER LENGTH,
  167. **                                        - PARAMETER LIST LENGTH OR
  168. **                                        - ALLOCATION LENGTH )
  169. **                                      CDB_BYTE7 - MSB
  170. **                                      CDB_BYTE8 - LSB
  171. **
  172. **                                      CDB_BYTE9 - CONTROL FIELD
  173. **                                                   BIT 0: LINK BIT
  174. **                                                   BIT 1: FLAG BIT
  175. **                                                   BITS 2-5: RESERVED
  176. **                                                   BITS 6-7: VENDOR SPECIFIC
  177. dd_CDB10                                $DLL=SCSIADD  \
  178.                                         DRIVEHANDLE=NUM \
  179.                                         DRVNAME=STRING  \
  180.                                         MODE=NUM \
  181.                                         UNITHANDLE=NUM \
  182.                                         MEMSIZE=NUM \
  183.                                         NBUFF=NUM \
  184.                                         TIMEOUT=NUM \
  185.                                         CDB_BYTE0=NUM \
  186.                                         CDB_BYTE1=NUM \
  187.                                         CDB_BYTE2=NUM \
  188.                                         CDB_BYTE3=NUM \
  189.                                         CDB_BYTE4=NUM \
  190.                                         CDB_BYTE5=NUM \
  191.                                         CDB_BYTE6=NUM \
  192.                                         CDB_BYTE7=NUM \
  193.                                         CDB_BYTE8=NUM \
  194.                                         CDB_BYTE9=NUM \
  195.                                         $FUNC=_scsiadd_CDB10
  196.  
  197. ******************************************************************************
  198. ** THE FOLLOWING FUNCTION SENDS A CDB FOR SIX-BYTE COMMANDS
  199. **
  200. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE (SET BY DD_OPEN)
  201. **
  202. **                                      DRVNAME - CHARACTER DRIVER NAME
  203. **
  204. **                                      MODE    - (0 OR 1) OPTIONAL
  205. **                                                DEFAULT=0 (ASYNC MODE)
  206. **
  207. **                                      UNITHANDLE - SET IN SCSICOM.SCR.
  208. **                                                   THIS IS OBTAINED BY
  209. **                                                   CALLING DD_GETDEVICETABLE
  210. **
  211. **                                      MEMSIZE - TOTAL BYTES IN SCAT/GAT LIST
  212. **
  213. **                                      NBUFF - NO. OF ELEMENTS IN SCAT/GAT
  214. **
  215. **                                      TIMEOUT - COMMAND COMPLETION TIMEOUT
  216. **                                                (SECS)
  217. **                                                ( 0 = DEFAULT SET BY DRIVER
  218. **                                                  -1 = INFINITE )
  219. **
  220. **                                      CDB_BYTE0 - OPERATION CODE
  221. **
  222. **                                      ( LUN AND 21BIT STARTING LOGICAL BLOCK ADDR )
  223. **                                      CDB_BYTE1 - BITS 5-7: LUN (ZERO)
  224. **                                                - BITS 0-4: MSB
  225. **                                      CDB_BYTE2 
  226. **                                      CDB_BYTE3 - LSB
  227. **
  228. **                                      CDB_BYTE4 - COMMAND SPECIFIC
  229. **                                                  ( - TRANSFER LENGTH,
  230. **                                                    - PARAMETER LIST LENGTH OR
  231. **                                                    - ALLOCATION LENGTH )
  232. **
  233. **                                      CDB_BYTE5 - CONTROL FIELD
  234. **                                                   BIT 0: LINK BIT
  235. **                                                   BIT 1: FLAG BIT
  236. **                                                   BITS 2-5: RESERVED
  237. **                                                   BITS 6-7: VENDOR SPECIFIC
  238.  
  239. dd_CDB6                                 $DLL=SCSIADD \
  240.                                         DRIVEHANDLE=NUM \
  241.                                         DRVNAME=STRING  \
  242.                                         MODE=NUM \
  243.                                         UNITHANDLE=NUM \
  244.                                         MEMSIZE=NUM \
  245.                                         NBUFF=NUM \
  246.                                         TIMEOUT=NUM \
  247.                                         CDB_BYTE0=NUM \
  248.                                         CDB_BYTE1=NUM \
  249.                                         CDB_BYTE2=NUM \
  250.                                         CDB_BYTE3=NUM \
  251.                                         CDB_BYTE4=NUM \
  252.                                         CDB_BYTE5=NUM \
  253.                                         $FUNC=_scsiadd_CDB6
  254.  
  255. ******************************************************************************
  256. ** THE FOLLOWING FUNCTION CLOSES TEST DEVICE DRIVER: DASDADD$ (DASDADD.SYS)  
  257. **
  258. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  259. **
  260. **   OUTPUT PARAMETERS:                 NONE
  261. **
  262. **   LOGGED DATA:                       NONE
  263. **
  264. **
  265. dd_close                                $DLL=SCSIADD \
  266.                                         DRIVEHANDLE=NUM \
  267.                                         $FUNC=_scsiadd_close
  268.  
  269. ******************************************************************************
  270. ** Reads information about the capacity of the logical unit.
  271. ** It returns the logical block address and the block length in bytes of the
  272. **       - last logical block on the logical unit OR
  273. **       - the logical block after which a substantial
  274. **         delay in data transfer will be encountered.
  275. **
  276. **
  277. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE (SET BY DD_OPEN)
  278. **
  279. **                                      DRVNAME - CHARACTER DRIVER NAME
  280. **
  281. **                                      MODE    - (0 OR 1) OPTIONAL
  282. **                                                DEFAULT=0 (ASYNC MODE)
  283. **
  284. **                                      UNITHANDLE - SET IN SCSICOM.SCR.
  285. **                                                   THIS IS OBTAINED BY
  286. **                                                   CALLING DD_GETDEVICETABLE
  287. **
  288. **                                      NBUFF - NO. OF ELEMENTS IN SCAT/GAT
  289. **
  290. **                                      TIMEOUT - COMMAND COMPLETION TIMEOUT
  291. **                                                (SECS)
  292. **                                                ( 0 = DEFAULT SET BY DRIVER
  293. **                                                  -1 = INFINITE )
  294. **
  295. **                                      SCATGAT - NAME FOR THE SCATGAT BUFFER
  296. **
  297. **                                      LABEL   - NAME FOR THE PARAMBLOCK
  298. **
  299. **                                      ADDR_MODE - RELATIVE ADDRESS MODE
  300. **
  301. **                                      LOGICAL_BLOCK_ADDR - STARTING LOGICAL BLOCK ADDRESS
  302. **
  303. **
  304. **   OUTPUT PARAMETERS:                 LAST_LOGICAL_BLOCK_ADDR (SETS)
  305. **                                      LOGICAL_BLOCK_SIZE   (SETS)
  306. **
  307. **   LOGGED DATA:                       LAST_LOGICAL_BLOCK_ADDR 
  308. **                                      LOGICAL_BLOCK_SIZE   
  309. **
  310. READCAPACITY                            $DLL=SCSIADD \
  311.                                         $FUNC=_scsiadd_ReadCapacity\
  312.                                         DRIVEHANDLE=NUM\
  313.                                         DRVNAME=STRING \
  314.                                         UNITHANDLE=NUM \
  315.                                         TIMEOUT=NUM \
  316.                                         LABEL=STRING\
  317.                                         $FUNC=_scsiadd_ReadCapacity
  318.  
  319. ******************************************************************************
  320. ** Reads the most recent data from the addressed logical blocks. 
  321. ** Cache control bits can be set.
  322. **
  323. **
  324. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  325. **
  326. **   OUTPUT PARAMETERS:
  327. **
  328. **   LOGGED DATA:
  329. **
  330. **
  331. READ10                                  $DLL=SCSIADD \
  332.                                         DRIVEHANDLE=NUM \
  333.                                         DRVNAME=STRING \
  334.                                         UNITHANDLE=NUM \
  335.                                         TIMEOUT=NUM \
  336.                                         LABEL=STRING \
  337.                                         LOGICAL_BLOCK_SIZE=NUM \
  338.                                         NUM_BLOCKS=NUM \
  339.                                         LOGICAL_BLOCK_ADDR=STRING \
  340.                                         FORCE_MEDIA_ACCESS=NUM \
  341.                                         CACHE_IF_POSSIBLE=NUM \
  342.                                         $FUNC=_scsiadd_Read10
  343.  
  344. ******************************************************************************
  345. ** Reads the most recent data from the addressed logical blocks.
  346. ** Cache control bits CANNOT be set.
  347. **
  348. **
  349. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  350. **
  351. **   OUTPUT PARAMETERS:
  352. **
  353. **   LOGGED DATA:
  354. **
  355. **
  356. READ6                                   $DLL=SCSIADD \
  357.                                         DRIVEHANDLE=NUM \
  358.                                         DRVNAME=STRING \
  359.                                         UNITHANDLE=NUM \
  360.                                         TIMEOUT=NUM \
  361.                                         LABEL=STRING \
  362.                                         LOGICAL_BLOCK_SIZE=NUM \
  363.                                         NUM_BLOCKS=NUM \
  364.                                         LOGICAL_BLOCK_ADDR=STRING \
  365.                                         $FUNC=_scsiadd_Read6
  366.  
  367. ******************************************************************************
  368. ** Seeks to the specified logical block address.
  369. **
  370. **
  371. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  372. **
  373. **   OUTPUT PARAMETERS:
  374. **
  375. **   LOGGED DATA:
  376. **
  377. **
  378. SEEK6                                   $DLL=SCSIADD \
  379.                                         DRIVEHANDLE=NUM \
  380.                                         DRVNAME=STRING \
  381.                                         UNITHANDLE=NUM \
  382.                                         TIMEOUT=NUM \
  383.                                         LABEL=STRING \
  384.                                         LOGICAL_BLOCK_ADDR=STRING \
  385.                                         $FUNC=_scsiadd_Seek6
  386.  
  387. ******************************************************************************
  388. ** Sets the logical unit to a specific state.  Details are vendor specific.
  389. **
  390. **
  391. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  392. **
  393. **   OUTPUT PARAMETERS:
  394. **
  395. **   LOGGED DATA:
  396. **
  397. **
  398. REZERO_UNIT                             $DLL=SCSIADD \
  399.                                         DRIVEHANDLE=NUM \
  400.                                         DRVNAME=STRING \
  401.                                         UNITHANDLE=NUM \
  402.                                         TIMEOUT=NUM \
  403.                                         LABEL=STRING \
  404.                                         $FUNC=_scsiadd_RezeroUnit
  405.  
  406. ******************************************************************************
  407. ** Reads the specified logical blocks into the adapter's cache memory.
  408. **
  409. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  410. **
  411. **   OUTPUT PARAMETERS:
  412. **
  413. **   LOGGED DATA:
  414. **
  415. **
  416. PREFETCH                                $DLL=SCSIADD \
  417.                                         DRIVEHANDLE=NUM \
  418.                                         DRVNAME=STRING \
  419.                                         UNITHANDLE=NUM \
  420.                                         TIMEOUT=NUM \
  421.                                         LABEL=STRING \
  422.                                         LAST_LOGICAL_BLOCK_ADDR=STRING \
  423.                                         LOGICAL_BLOCK_SIZE=NUM \
  424.                                         NUM_BLOCKS=NUM \
  425.                                         STATUS_RETURN_IMMED=NUM \
  426.                                         LOGICAL_BLOCK_ADDR=NUM \
  427.                                         $FUNC=_scsiadd_PreFetch
  428.  
  429. ******************************************************************************
  430. ** Enables or Disables the removal of the media in the logical unit.
  431. **
  432. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  433. **
  434. **   OUTPUT PARAMETERS:
  435. **
  436. **   LOGGED DATA:
  437. **
  438. **
  439. LOCK_UNLOCK_MEDIA                       $DLL=SCSIADD \
  440.                                         DRIVEHANDLE=NUM \
  441.                                         DRVNAME=STRING \
  442.                                         UNITHANDLE=NUM \
  443.                                         TIMEOUT=NUM \
  444.                                         LABEL=STRING \
  445.                                         LOCK_UNLOCK=NUM \
  446.                                         $FUNC=_scsiadd_LockUnlockMedia
  447.  
  448. ******************************************************************************
  449. ** Enables or Disables the media access operations on the logical unit.
  450. **
  451. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  452. **
  453. **   OUTPUT PARAMETERS:
  454. **
  455. **   LOGGED DATA:
  456. **
  457. **
  458. START_STOP_UNIT                         $DLL=SCSIADD \
  459.                                         DRIVEHANDLE=NUM \
  460.                                         DRVNAME=STRING \
  461.                                         UNITHANDLE=NUM \
  462.                                         TIMEOUT=NUM \
  463.                                         LABEL=STRING \
  464.                                         STATUS_RETURN_IMMED=NUM \
  465.                                         START_STOP=NUM \
  466.                                         LOAD_EJECT=NUM \
  467.                                         $FUNC=_scsiadd_StartStopUnit
  468.  
  469. ******************************************************************************
  470. ** Ensures that the logical blocks in the cache memory, within the specified 
  471. ** range, have their most recent data value recorded on the physical medium.
  472. **
  473. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  474. **
  475. **   OUTPUT PARAMETERS:
  476. **
  477. **   LOGGED DATA:
  478. **
  479. **
  480. SYNC_CACHE                              $DLL=SCSIADD \
  481.                                         DRIVEHANDLE=NUM \
  482.                                         DRVNAME=STRING \
  483.                                         UNITHANDLE=NUM \
  484.                                         TIMEOUT=NUM \
  485.                                         LABEL=STRING \
  486.                                         LAST_LOGICAL_BLOCK_ADDR=STRING \
  487.                                         LOGICAL_BLOCK_SIZE=NUM \
  488.                                         NUM_BLOCKS=NUM \
  489.                                         STATUS_RETURN_IMMED=NUM \
  490.                                         LOGICAL_BLOCK_ADDR=STRING \
  491.                                         $FUNC=_scsiadd_Sync_Cache
  492.  
  493. ******************************************************************************
  494. ** Writes data to the medium.  Cache control bits are not provided.
  495. **
  496. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  497. **
  498. **   OUTPUT PARAMETERS:
  499. **
  500. **   LOGGED DATA:
  501. **
  502. **
  503. WRITE6                                  $DLL=SCSIADD \
  504.                                         DRIVEHANDLE=NUM \
  505.                                         DRVNAME=STRING \
  506.                                         UNITHANDLE=NUM \
  507.                                         TIMEOUT=NUM \
  508.                                         LABEL=STRING \
  509.                                         LOGICAL_BLOCK_SIZE=NUM \
  510.                                         NUM_BLOCKS=NUM \
  511.                                         LOGICAL_BLOCK_ADDR=STRING \
  512.                                         SCATGAT=STRING \
  513.                                         $FUNC=_scsiadd_Write6
  514.  
  515. ******************************************************************************
  516. ** Writes data to the medium. Cache control bits can be set.
  517. **
  518. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  519. **
  520. **   OUTPUT PARAMETERS:
  521. **
  522. **   LOGGED DATA:
  523. **
  524. **
  525. WRITE10                                 $DLL=SCSIADD \
  526.                                         DRIVEHANDLE=NUM \
  527.                                         DRVNAME=STRING \
  528.                                         UNITHANDLE=NUM \
  529.                                         TIMEOUT=NUM \
  530.                                         LABEL=STRING \
  531.                                         LOGICAL_BLOCK_SIZE=NUM \
  532.                                         NUM_BLOCKS=NUM \
  533.                                         LOGICAL_BLOCK_ADDR=STRING \
  534.                                         FORCE_MEDIA_ACCESS=NUM \
  535.                                         CACHE_IF_POSSIBLE=NUM \
  536.                                         SCATGAT=STRING \
  537.                                         $FUNC=_scsiadd_Write10
  538.  
  539. ******************************************************************************
  540. ** Writes the data to the medium and verifies if data is correctly written.
  541. **
  542. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  543. **
  544. **   OUTPUT PARAMETERS:
  545. **
  546. **   LOGGED DATA:
  547. **
  548. **
  549. WRITE_AND_VERIFY                        $DLL=SCSIADD \
  550.                                         DRIVEHANDLE=NUM \
  551.                                         DRVNAME=STRING \
  552.                                         UNITHANDLE=NUM \
  553.                                         TIMEOUT=NUM \
  554.                                         LABEL=STRING \
  555.                                         LOGICAL_BLOCK_SIZE=NUM \
  556.                                         NUM_BLOCKS=NUM \
  557.                                         LOGICAL_BLOCK_ADDR=STRING \
  558.                                         BYTE_CHECK=NUM \
  559.                                         CACHE_IF_POSSIBLE=NUM \
  560.                                         SCATGAT=STRING \
  561.                                         $FUNC=_scsiadd_WriteAndVerify
  562.  
  563. ******************************************************************************
  564. ** Writes the single block of data to the medium multiple times.
  565. **
  566. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  567. **
  568. **   OUTPUT PARAMETERS:
  569. **
  570. **   LOGGED DATA:
  571. **
  572. **
  573. WRITE_SAME                              $DLL=SCSIADD \
  574.                                         DRIVEHANDLE=NUM \
  575.                                         DRVNAME=STRING \
  576.                                         UNITHANDLE=NUM \
  577.                                         TIMEOUT=NUM \
  578.                                         LABEL=STRING \
  579.                                         LAST_LOGICAL_BLOCK_ADDR=STRING \
  580.                                         LOGICAL_BLOCK_SIZE=NUM \
  581.                                         NUM_BLOCKS=NUM \
  582.                                         LOGICAL_BLOCK_ADDR=STRING \
  583.                                         LOGICAL_BLOCK_DATA=NUM \
  584.                                         PHYSICAL_BLOCK_DATA=NUM \
  585.                                         SCATGAT=STRING \
  586.                                         $FUNC=_scsiadd_WriteSame
  587.  
  588. ******************************************************************************
  589. ** Reads the most recent data from the addressed logical block (reads only
  590. ** one block). The data passed is vendor- specific, but shall include the 
  591. ** data bytes and the ECC bytes recorded on the medium.
  592. **
  593. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  594. **
  595. **   OUTPUT PARAMETERS:
  596. **
  597. **   LOGGED DATA:
  598. **
  599. **
  600. READ_LONG                               $DLL=SCSIADD \
  601.                                         DRIVEHANDLE=NUM \
  602.                                         DRVNAME=STRING \
  603.                                         UNITHANDLE=NUM \
  604.                                         TIMEOUT=NUM \
  605.                                         LABEL=STRING \
  606.                                         LOGICAL_BLOCK_SIZE=NUM \
  607.                                         NUM_BYTES=NUM \
  608.                                         LOGICAL_BLOCK_ADDR=STRING \
  609.                                         ECC_CORRECT=NUM \
  610.                                         $FUNC=_scsiadd_ReadLong
  611.  
  612. ******************************************************************************
  613. ** Writes data to the medium(writes only one block).
  614. ** The data passed is implementation - specific, but shall include the data 
  615. ** bytes and the ECC bytes recorded on the medium.  The READ LONG command is
  616. ** usually issued before issuing a WRITE LONG command.
  617. **
  618. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  619. **
  620. **   OUTPUT PARAMETERS:
  621. **
  622. **   LOGGED DATA:
  623. **
  624. **
  625. WRITE_LONG                              $DLL=SCSIADD \
  626.                                         DRIVEHANDLE=NUM \
  627.                                         DRVNAME=STRING \
  628.                                         UNITHANDLE=NUM \
  629.                                         TIMEOUT=NUM \
  630.                                         LABEL=STRING \
  631.                                         LOGICAL_BLOCK_SIZE=NUM \
  632.                                         NUM_BYTES=NUM \
  633.                                         LOGICAL_BLOCK_ADDR=STRING \
  634.                                         SCATGAT=STRING \
  635.                                         $FUNC=_scsiadd_WriteLong
  636.  
  637. ******************************************************************************
  638. ** Defines the range within which subsequent linked commands may operate.
  639. **
  640. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  641. **
  642. **   OUTPUT PARAMETERS:
  643. **
  644. **   LOGGED DATA:
  645. **
  646. **
  647. SET_LIMITS                              $DLL=SCSIADD \
  648.                                         DRIVEHANDLE=NUM \
  649.                                         DRVNAME=STRING \
  650.                                         UNITHANDLE=NUM \
  651.                                         TIMEOUT=NUM \
  652.                                         LABEL=STRING \
  653.                                         LAST_LOGICAL_BLOCK_ADDR=STRING \
  654.                                         LOGICAL_BLOCK_SIZE=NUM \
  655.                                         NUM_BLOCKS=NUM \
  656.                                         WRITE_INHIBIT=NUM \
  657.                                         READ_INHIBIT=NUM \
  658.                                         LOGICAL_BLOCK_ADDR=STRING \
  659.                                         $FUNC=_scsiadd_SetLimits
  660.  
  661. ******************************************************************************
  662. ** Verifies the data written on the medium.
  663. **
  664. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  665. **
  666. **   OUTPUT PARAMETERS:
  667. **
  668. **   LOGGED DATA:
  669. **
  670. **
  671. VERIFY                                  $DLL=SCSIADD \
  672.                                         DRIVEHANDLE=NUM \
  673.                                         DRVNAME=STRING \
  674.                                         UNITHANDLE=NUM \
  675.                                         TIMEOUT=NUM \
  676.                                         LABEL=STRING \
  677.                                         LOGICAL_BLOCK_SIZE=NUM \
  678.                                         NUM_BLOCKS=NUM \
  679.                                         BYTE_CHECK=NUM \
  680.                                         CACHE_IF_POSSIBLE=NUM \
  681.                                         LOGICAL_BLOCK_ADDR=STRING \
  682.                                         $FUNC=_scsiadd_Verify
  683.  
  684. ******************************************************************************
  685. ** Request the target device to Allow or Disallow logical blocks within the 
  686. ** specified range to be removed from the cache memory.
  687. **
  688. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  689. **
  690. **   OUTPUT PARAMETERS:
  691. **
  692. **   LOGGED DATA:
  693. **
  694. **
  695. LOCK_UNLOCK_CACHE                       $DLL=SCSIADD \
  696.                                         DRIVEHANDLE=NUM \
  697.                                         DRVNAME=STRING \
  698.                                         UNITHANDLE=NUM \
  699.                                         TIMEOUT=NUM \
  700.                                         LABEL=STRING \
  701.                                         LAST_LOGICAL_BLOCK_ADDR=STRING \
  702.                                         LOGICAL_BLOCK_SIZE=NUM \
  703.                                         NUM_BLOCKS=NUM \
  704.                                         LOCK_CACHE=NUM \
  705.                                         LOGICAL_BLOCK_ADDR=STRING \
  706.                                         $FUNC=_scsiadd_LockUnlockCache
  707.  
  708. ******************************************************************************
  709. **
  710. **
  711. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  712. **
  713. **   OUTPUT PARAMETERS:
  714. **
  715. **   LOGGED DATA:
  716. **
  717. **
  718. READ_DEFECT_DATA                        $DLL=SCSIADD \
  719.                                         DRIVEHANDLE=NUM \
  720.                                         DRVNAME=STRING \
  721.                                         UNITHANDLE=NUM \
  722.                                         TIMEOUT=NUM \
  723.                                         LABEL=STRING \
  724.                                         NUM_BYTES=NUM \
  725.                                         DEFECT_LIST_FORMAT=NUM \
  726.                                         GROWN_DEFECT_LIST=NUM \
  727.                                         PRIMARY_DEFECT_LIST=NUM \
  728.                                         $FUNC=_scsiadd_ReadDefectData
  729.  
  730. ******************************************************************************
  731. ** Returns information regarding parameters of the target and its attached 
  732. ** peripheral device(s).
  733. **
  734. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  735. **
  736. **   OUTPUT PARAMETERS:
  737. **
  738. **   LOGGED DATA:
  739. **
  740. **
  741. INQUIRY                                 $DLL=SCSIADD \
  742.                                         DRIVEHANDLE=NUM \
  743.                                         DRVNAME=STRING \
  744.                                         UNITHANDLE=NUM \
  745.                                         TIMEOUT=NUM \
  746.                                         LABEL=STRING \
  747.                                         NUM_BYTES=NUM \
  748.                                         ENABLE_VITAL_PRODUCT_DATA=NUM \
  749.                                         CODE_PAGE=NUM \
  750.                                         $FUNC=_scsiadd_Inquiry
  751.  
  752. ******************************************************************************
  753. ** Checks if the logical unit is ready.
  754. **
  755. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  756. **
  757. **   OUTPUT PARAMETERS:
  758. **
  759. **   LOGGED DATA:
  760. **
  761. **
  762. TEST_UNIT_READY                         $DLL=SCSIADD \
  763.                                         DRIVEHANDLE=NUM \
  764.                                         DRVNAME=STRING \
  765.                                         UNITHANDLE=NUM \
  766.                                         TIMEOUT=NUM \
  767.                                         LABEL=STRING \
  768.                                         $FUNC=_scsiadd_TestUnitReady
  769.  
  770. ******************************************************************************
  771. ** Requests the target to perform diagnostic operations on itself.
  772. **
  773. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  774. **
  775. **   OUTPUT PARAMETERS:
  776. **
  777. **   LOGGED DATA:
  778. **
  779. **
  780. SEND_DIAGNOSTIC                         $DLL=SCSIADD \
  781.                                         DRIVEHANDLE=NUM \
  782.                                         DRVNAME=STRING  \
  783.                                         UNITHANDLE=NUM \
  784.                                         TIMEOUT=NUM \
  785.                                         LABEL=STRING  \
  786.                                         NUM_BYTES=NUM \
  787.                                         UNIT_OFF_LINE=NUM \
  788.                                         DEVICE_OFF_LINE=NUM \
  789.                                         SELF_TEST=NUM \
  790.                                         PAGE_FORMAT=NUM \
  791.                                         $FUNC=_scsiadd_SendDiagnostic
  792.  
  793. ******************************************************************************
  794. ** Releases the previously reserved logical unit.
  795. **
  796. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  797. **
  798. **   OUTPUT PARAMETERS:
  799. **
  800. **   LOGGED DATA:
  801. **
  802. **
  803. RELEASE                                 $DLL=SCSIADD \
  804.                                         DRIVEHANDLE=NUM \
  805.                                         DRVNAME=STRING  \
  806.                                         UNITHANDLE=NUM  \
  807.                                         TIMEOUT=NUM  \
  808.                                         LABEL=STRING  \
  809.                                         EXTENT_RELEASE=NUM \
  810.                                         THIRD_PARTY_RELEASE=NUM \
  811.                                         RESERVATION_ID=NUM \
  812.                                         $FUNC=_scsiadd_Release
  813.  
  814. ******************************************************************************
  815. ** Reserves a logical unit.
  816. **
  817. **   REQUIRED INPUT PARAMETERS:         DRIVEHANDLE    - (SET BY DD_OPEN)
  818. **
  819. **   OUTPUT PARAMETERS:
  820. **
  821. **   LOGGED DATA:
  822. **
  823. **
  824. RESERVE                                 $DLL=SCSIADD \
  825.                                         DRIVEHANDLE=NUM  \
  826.                                         DRVNAME=STRING  \
  827.                                         UNITHANDLE=NUM  \
  828.                                         TIMEOUT=NUM  \
  829.                                         LABEL=STRING  \
  830.                                         EXTENT_RESERVE=NUM \
  831.                                         THIRD_PARTY_RESERVE=NUM \
  832.                                         RESERVATION_ID=NUM \
  833.                                         $FUNC=_scsiadd_Reserve
  834.  
  835.  
  836.